package com.ccc.scala.base8_match

object Match01 {
  def main(args: Array[String]): Unit = {
    // 模式匹配
    // 模式匹配语法中，采用match关键字声明，每个分支采用case关键字进行声明
    val a: Int = 20
    val b: Int = 10
    val operator: Char = 'c'
    val result: Any = operator match {
      case '+' => a + b // 当需要匹配时，会从第一个case分支开始，如果匹配成功，那么执行对应的逻辑代码
      case '-' => a - b // 如果匹配不成功，继续执行下一个分支进行判断
      case '*' => a * b //
      case '/' => a / b
      case _ => "illegal" // 如果所有case都不匹配，那么会执行case _分支，类似于Java中default语句
      // 如果所有case都不匹配，且不存在case _分支，那么会发生错误
    }
    println(result)
  }

}
